package com.zjitc.dao;

import com.zjitc.model.Order;
import com.zjitc.model.Product;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Create by IntelliJ IDEA
 *
 * @author: lhl
 * @date-Time: 2018/4/6 0006
 * @description:
 */
public interface OrderDao {

    /**
     * 数据库添加订单
     *
     * @param order
     */
    void add(Order order);

    /**
     * 查询某个用户的订单列表
     *
     * @param uid
     * @return
     */
    List<Order> findByUid(String uid);

    /**
     * 用户订单的总数量
     *
     * @param uid
     * @return
     */
    int count(String uid);

    /**
     * 用户订单的分页取值
     *
     * @param cid
     * @param start
     * @param count
     * @return
     */
    List<Order> findLimitByUid(@Param("uid") String cid, @Param("start") int start, @Param("count") int count);

    /**
     * 删除订单
     *
     * @param oid
     */
    void deleteByOid(String oid);

    /**
     * 查询所有的订单
     *
     * @return
     */
    List<Order> findOrders();

    /**
     * 通过oid查询订单
     *
     * @param oid
     * @return
     */
    Order findOrderByOid(String oid);

    /**
     * 更新订单
     *
     * @param order
     */
    void update(Order order);
}
